home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 2: CDPD 1
/
Almathera Ten on Ten - Disc 2: CDPD 1.iso
/
pd
/
376-400
/
388
/
dclock
/
dclockaux.asm
< prev
next >
Wrap
Assembly Source File
|
1995-03-14
|
2KB
|
86 lines
* DClockAux.asm ************************************************************
*
* DClockAux.asm --------- Assembly language sub-routines for
* DClock-Handler.
*
* Author ---------------- Olaf 'Olsen' Barthel, MXM
* Brabeckstrasse 35
* D-3000 Hannover 71
*
* Federal Republic of Germany
*
* This program truly is in the PUBLIC DOMAIN. Written on a cold
* and damp September evening, hoping the next morning would be
* better.
*
* Compiled using Aztec C 5.0a, CygnusEd Professional 2 & ARexx.
*
****************************************************************************
SECTION DClockAux,CODE
; Imported symbols
XREF _ModifiedDisplayBeep
XREF _ModifiedCloseWBench
XREF _OldCloseWBench
XREF _OldDisplayBeep
; Library reference
XREF _LVORawDoFmt
; Exported symbols
XDEF _NewDisplayBeep
XDEF _NewCloseWBench
XDEF _Format
*------------------------------------------------------------------------------
DS.L 0
_NewDisplayBeep:MOVEM.L D2-D7/A0-A6,-(SP) ; Save most registers
JSR _geta4# ; Tickle the base register
JSR _ModifiedDisplayBeep ; Call our magic creation
MOVEM.L (SP)+,D2-D7/A0-A6 ; Restore registers
RTS
*------------------------------------------------------------------------------
_NewCloseWBench:MOVEM.L D2-D7/A2-A6,-(SP) ; Save most registers
JSR _geta4# ; Tickle the base register
JSR _ModifiedCloseWBench ; Call our magic creation
MOVE.L _OldCloseWBench,A1 ; Remember old routine
MOVEM.L (SP)+,D2-D7/A2-A6 ; Restore registers
JMP (A1) ; Jump to old routine...
*------------------------------------------------------------------------------
_Format: MOVEM.L A2/A3/A6,-(SP)
MOVE.L 4+12(SP),A3 ; Destination string
MOVE.L 8+12(SP),A0 ; Format string
LEA 12+12(SP),A1 ; Arguments (stack)
LEA stuffchar(PC),A2 ; Formatting routine
MOVEA.L 4,A6 ; ExecBase
JSR _LVORawDoFmt(A6) ; Format it
MOVEM.L (SP)+,A2/A3/A6 ; Restore registers
RTS
stuffchar: MOVE.B D0,(A3)+ ; Puts a character into the
RTS ; char buffer.
*------------------------------------------------------------------------------
END